1. Field of the Invention
This present invention relates generally to the field of telecommunications and, more specifically, to a distributed synchronization system for maintaining word and frame synchronization among asynchronous nodes of a distributed telecommunications system.
2. Related Art
Generally, a distributed network system includes a physical carrier transport system that transports data between geographically-distributed nodes. The network may take on any one of a number of architectural forms such as a bus or ring. In a bus topology, a coaxial cable or an optical fiber is commonly used as the physical carrier. Ethernet, for example, uses a coaxial cable as its transmission medium. In the case of a ring, the physical medium may be a twisted-wire pair, coaxial cable, or optical fiber. In a ring topology, nodes serve as repeaters, receiving and re-transmitting incoming information.
Various approaches have been developed to avoid conflicts between nodes using a shared medium in a network. For example, in one common technique, a token-passing distributed-control scheme is used, where permission to transmit is passed sequentially from one node or station to another by means of a "token," a specified bit or flag set in an information frame, or a specifically-defined control frame. Alternatively, a node currently engaged in transmitting over the medium may pass control to the next node upon conclusion of its transmission by setting a token bit in its transmitted frame. A node recognizing the token bit is then free to transmit its own information if it so desires. Thus, multiple tokens may simultaneously exist on the medium. In another conventional approach, a currently-transmitting node passes control to the next node (i.e., issues a token) only on the return of its own frame. In this case, there is only one token available at any one time, simplifying management of the network. Both bus and ring topologies may be used in conjunction with the token-passing approach. In the case of a bus, nodes are numbered in succession to permit unique identification of which node may next receive the token. In the case of a ring, the "next" node is implicit in the direction of transmission.
In the simplest mode of operation, each node on the ring receives each frame packet and then passes it on (retransmits it) to its neighbor. If a particular node recognizes the packet destination address as being its own, that node copies the frame in addition to retransmitting it. The original transmitting source node takes its own frame off the ring as it returns from one cycle around the ring. In the single-token procedure, a sending node passes control to the next node by issuing a token after receipt of its own frame packet. A node with a frame to transmit must wait until it receives the token before transmitting.
The time to transfer data from a source node to a destination node is typically used as a measure of network performance. The transfer time is dependent upon a number of factors, a significant one of which is ring latency or delay. There are two major contributors to ring latency: the propagation delay required for a frame packet to cycle once around the ring; and the delay required to retransmit a frame packet at each node on the ring. In general, reduced ring latency results in better network performance.
The effect of ring latency is compounded by the increased bandwidth capabilities provided in modem high-speed fiber optic systems. As high speed networks become faster due to the packing of bits closer together in the fiber, the time it takes for a single bit to traverse the fiber stays essentially the same. Thus, for example, it may take approximately the same time to exchange a message between applications on a high speed fiber optic network, which may be capable of operating at 2 Gb/s, as it does over a 10 Mb/s Ethernet network. However, the increased capability of the fiber optic network to send more bits per unit time, as well as the increased capability of nodes to perform more instructions per unit time, results in an increase in the relative delay in the network. That is, the number of instruction cycles that a source node must wait for a reply to its message increases as the node's CPU cycle time decreases. As a result, ring latency is becoming the largest contributor to the reduction of performance in distributed network systems.
This problem is exacerbated in widely distributed network systems since propagation delay increases with distance. As the nodes in a distributed network become more geographically distributed, the number of instruction cycles that a source node must wait for its packet to return, or for an answer to its message, increases. In addition, as the node-to-node distance increases in a geographically distributed network system, the propagation delay, and thus ring latency, becomes unpredictable. The unpredictability of distributed network systems is particularly problematic when the network is required to carry synchronous data such as pulse coded modulation (PCM) data commonly used in telecommunications networks. The unpredictable arrival of frame packets prevents the receiving node from accurately identifying the divisions between PCM samples, thereby inhibiting the transfer of synchronous data through the asynchronous network.
Furthermore, to ensure proper reception of information over a distributed network, local timing signals (i.e., clock signals) controlling a given destination node must be precisely matched to those of the source node. However, despite being designed to operate at the same frequency, timing variations inevitably exist among network components. High frequency variations, referred to as jitter, are typically reduced to manageable levels through the use of jitter filters in each node. Low frequency variations, referred to as wander, are typically dealt with through the use of buffers located within the nodes of the network. Specifically, these buffers store a small amount of data, allowing it to build up or be drained by small-magnitude wander without data loss or errors. When wander exceeds the capacity of the buffers, they either repeat (i.e., underflow) or discard (i.e., overflow) blocks of data to compensate for differences in timing between the source and destination nodes. Underflow and overflow conditions, generally referred to as slip, typically result in errors within the network. For example, in a voice circuit, slip may appear as popping or clicking sounds, whereas in data transmissions, slip is manifested by the loss of data. Very large buffers can reduce the probability of such errors, but they increase the delay through the network. Delay is undesirable, so buffer size is generally minimized.
Various techniques have been developed to maintain network synchronization and avoid such loss of data. For example, conventional synchronization techniques often require transmission of timing information through the network along with the data. A clock recovery system residing in a destination node uses the transmitted timing information to recover the frequency of the source node's clock and to generate a transmit clock having a frequency at which the destination node transmits the data to a destination user process. In addition, the recovered clock and data are provided to other nodes in the network. Regardless of the recovery technique, each node employs a phase-locked loop or other feedback circuitry that varies around the source node's clock frequency, continually adjusting to maintain lock on that frequency. This continual adjustment around the desired frequency causes jitter. As each subsequent node attempts to recover the clock, the jitter from all previous recovery attempts is accumulated. Eventually, this accumulated jitter may become too large, thereby resulting in data loss.
Another drawback to conventional clock recovery systems is that they are based upon the assumption that identical network reference clocks are provided to the source and destination nodes. This is often not the case in geographically-distributed telecommunications systems. It is not uncommon for each portion of a geographical-distributed telecommunications network to be synchronized to a different reference clock. Although those local clocks may be referenced to stratum 1 clocks, they may exhibit a phase difference over time that continues to increase until a slip in inter-nodal communications occurs. Moreover, if a network element such as a digital cross connect fails, certain network nodes may lose their reference clock. These nodes must then utilize their internal clocks, resulting in an increased loss of data due to the difference in phase and frequency between such nodes' internal clocks and the reference clocks.
What is needed, therefore, is a means for ensuring that the ring latency in a distributed network system is reliably controlled so as to support the transmission of synchronous data. In addition, the system must be capable of compensating for differences between source and destination nodes' clocks without loss of data and without causing excessive delays in the transmission of information across the network.